﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ProyectoAlmacen.Persistencia;
using ProyectoAlmacen.Persistencia.NH;
using ProyectoAlmacen.Models;

namespace ProyectoAlmacen.Negocio
{
    public class MovimientosServiceImpl : IMovimientosService
    {

        #region Dependencias

        IMovimientosDAO movimientosDAO = new MovimientosDAO();

        #endregion

        #region Operaciones del Negocio

        public Movimientos CrearMovimientos(int idMovimientos, string tipoMovimiento, int idOC, int idMaterial, double Cantidad, string Beneficiaro, int idUsuario)
        {
            Movimientos movimientosrACrear = new Movimientos();
            movimientosrACrear.idMovimiento = idMovimientos;
            movimientosrACrear.tipoMovimiento = tipoMovimiento;
            movimientosrACrear.idOC = idOC;
            movimientosrACrear.idMaterial = idMaterial;
            movimientosrACrear.Cantidad = Cantidad;
            movimientosrACrear.Beneficiario = Beneficiaro;
            movimientosrACrear.idUsuario = idUsuario;
            return movimientosDAO.Crear(movimientosrACrear);

        }

        public Movimientos EditarMovimientos(int idMovimientos, string tipoMovimiento, int idOC, int idMaterial, double Cantidad, string Beneficiaro, int idUsuario)
        {
            Movimientos movimientosrAEditar = new Movimientos();
            movimientosrAEditar.idMovimiento = idMovimientos;
            movimientosrAEditar.tipoMovimiento = tipoMovimiento;
            movimientosrAEditar.idOC = idOC;
            movimientosrAEditar.idMaterial = idMaterial;
            movimientosrAEditar.Cantidad = Cantidad;
            movimientosrAEditar.Beneficiario = Beneficiaro;
            movimientosrAEditar.idUsuario = idUsuario;
            return movimientosDAO.Modificar(movimientosrAEditar);

        }

        #endregion

        #region Métodos de soporte para entidad proveedor
        public Movimientos ObtenerMovimientos(int codigo)
        {

            return movimientosDAO.Obtener(codigo);

        }

        public ICollection<Movimientos> ListarMovimientos()
        {


            return movimientosDAO.ListarTodos();

        }
        #endregion

    }
}